/**
 * @file VectorFunction.h
 * @brief The class of vector function.
 * @author XDDDD
 * @version 
 * @date 2021-04-28
 */

#ifndef __PAISLEYPARK__VECTORFUNCTION_H__
#define __PAISLEYPARK__VECTORFUNCTION_H__

#include <iostream>
#include <vector>

template <size_t N>
class VectorFunction {
public:
	/**
	 * @brief Reload the operator () to calculate the f(p)
	 *
	 * @param _p  The given point.
	 *
	 * @return f(p)
	 */
	virtual double operator()(const std::vector<double>& _p) const = 0;
};

#else
//Do nothing.
#endif
